This disclosure relates generally to presenting content to a user, and more specifically to synchronizing content presented by multiple client devices.
Increasingly, client devices, online systems, and networks allow users to exchange larger amounts of content with each other. For example, an online system allows its users to exchange video data captured by different users via client devices associated with the user. In a specific example, an online system may establish video messaging between a user and an additional user, allowing the users to exchange video data captured by their respective client devices in real-time or in near real-time.
In addition to allowing users to exchange video data for real-time or near-real time communication, an online system coupled to various client devices allows its users to share content items among different client devices. For example, a user associated with a client device identifies a content item to the online system and identifies other client devices, so the content item is presented by the identified content items as well as by the client device associated with the user. As an example, while various client devices exchange video data with each other, a user associated with the client device identifies a song to the online system, which provides the song to the other client devices for presentation. This allows the song to be presented to various users associated with the client devices that are exchanging video data.
However, different characteristics of different content items affect presentation of a content item by different client devices. For example, different types of connections to a network by different client devices cause the different client devices to receive the content item at different rates, which causes different client devices to present different portions of the content item at a particular time. As another example, different client devices connect to a network through connections having different bandwidths, causing the different client devices to receive the content item at different rates. Such discrepancies in receiving the content item by different client devices cause the client devices to present different portions of the content item, preventing users associated with different content items from viewing a common portion of the content item at a specific time.